MAP:
  DW 0,0,0,0
  DW 4,4,9,2,3,4,1,1,4,2,6,16,2,3,9,12,4,32,9,9,7,7,8,3,6,6,10,9,10,9,20,6
  DW 8,10,7,4,9,8,11,7,19,19,3,10,13,13,4,13,12,12,12,14,15,18,13,19,18,14,16,17,16,16,17,15
  DW 11,11,15,16,14,15,19,20,7,7,20,18,3,3,18,11,18,15,92,33,22,22,22,1,24,24,24,11,25,26,27,23
  DW 27,24,26,26,24,27,25,25,26,25,24,24,31,31,29,16,30,30,28,28,29,29,31,31,28,28,30,30,5,3,9,9
#IF REGISTERED
  DW 39,35,21,34,35,39,33,37,38,34,40,36,39,37,35,41,36,38,34,48,37,35,39,183,34,36,149,38,33,33,43,35
  DW 57,56,36,42,43,48,41,70,45,42,44,71,50,41,43,43,47,43,52,46,69,65,45,73,49,45,50,56,42,49,37,65
  DW 48,47,38,79,52,52,51,47,54,53,47,50,50,50,53,55,51,54,64,52,53,51,46,60,56,57,52,58,57,55,59,60
  DW 55,56,61,62,59,61,55,51,63,58,60,54,62,62,64,59,58,63,62,53,60,60,64,61,61,59,64,64,64,64,63,44
  DW 67,66,48,67,65,67,37,68,66,65,38,62,70,69,66,66,68,76,67,165,71,68,42,154,72,70,43,152,73,71,45,153
  DW 69,72,46,74,75,89,73,44,76,74,46,93,89,75,77,78,69,65,78,76,91,62,76,77,81,81,49,80,82,82,79,82
  DW 79,79,83,84,80,80,80,85,85,87,84,81,84,84,64,83,39,83,82,86,48,81,85,49,83,35,172,88,81,47,87,49
  DW 74,76,90,91,90,90,91,89,91,91,89,90,94,147,93,21,95,151,178,92,136,92,95,48,96,112,173,94,112,95,97,40
  DW 97,97,98,96,99,173,96,97,180,98,105,101,141,119,146,126,102,104,99,57,104,101,103,103,93,112,102,107,101,102,110,111
  DW 106,107,140,99,107,105,108,105,105,106,109,108,110,153,107,109   ;
  DW 105,105,108,107,105,108,111,111,105,105,103,110,95,96,101,113,114,133,112,132,182,113,115,119
  DW 116,140,129,114,149,115,117,118,149,145,118,116,118,118,116,131,123,135,114,120,124,94,119,121
  DW 122,94,120,127,123,121,118,131,127,122,124,125,126,125,125,123,100,119,123,124,120,124,100,144
  DW 127,127,121,128,131,131,127,129,130,132,128,115,136,129,131,117,131,131,118,130,129,130,135,144
  DW 113,153,137,134,135,136,133,144,136,134,145,40,134,135,140,163,115,94,138,133,117,139,142,137
  DW 138,141,140,140,115,94,139,132,139,100,110,56,143,104,134,138,146,142,144,145,144,144,145,143
  DW 145,145,143,115,117,143,123,100,92,148,153,19,147,149,150,182,148,94,156,39,93,155,151,148
  DW 97,157,152,150,153,154,182,151,173,152,178,93,152,159,177,157,150,156,154,158,155,169,157,149
  DW 157,157,156,156,159,160,155,157,154,158,176,157,158,161,172,170,160,153,162,166,163,164,165,161
  DW 164,162,172,153,162,163,167,154,165,165,156,162,157,153,161,167,168,150,166,165,169,167,158,172
  DW 167,168,170,171,170,170,182,169,149,172,169,153,171,163,167,165,98,93,174,177,175,176,4,173
  DW 105,174,94,105,174,178,177,177,105,153,176,176,176,179,109,152,178,180,181,93,179,99,107,104
  DW 181,181,179,179,182,182,148,39,204,191,38,184,188,185,183,186,184,198,186,193,187,196,190,185
  DW 190,186,188,189,185,184,189,187,196,196,187,196,191,187,34,186,183,190,35,192,195,193,191,197
  DW 192,198,185,194,195,198,193,196,202,192,183,194,186,197,194,198,196,202,192,200,193,206,196,199
  DW 203,200,198,216,199,201,197,203,200,215,202,202,197,200,201,201,211,199,200,243,205,183,37,207
  DW 206,204,36,206,198,205,205,197,209,208,204,210,207,209,183,204,208,207,206,205,206,183,207,204
  DW 212,203,216,217,213,211,218,219,214,212,220,221,215,213,228,223,201,214,232,230,218,200,217,211
  DW 219,203,211,216,220,216,219,212,222,217,212,218,228,218,222,213,223,219,213,222,224,219,221,220
  DW 227,231,214,224,226,225,223,228,224,226,227,229,225,224,229,227,229,223,226,225,231,220,224,214
  DW 233,230,225,226,229,221,215,231,223,228,230,232,225,228,231,215,234,229,235,237,230,233,224,238
  DW 236,241,238,233,241,235,237,239,238,238,233,236,237,237,240,235,240,240,236,233,239,239,241,238
  DW 235,236,242,240,238,237,233,241,217,201,203,197,245,245,246,40,244,244,252,262,255,248,247,244
  DW 260,251,244,246,246,252,249,254,247,253,250,248,247,253,251,249,247,253,270,250,248,255,247,245
  DW 249,248,272,263,245,245,248,244,252,246,257,256,245,245,255,260,258,247,259,255,259,257,267,261
  DW 247,258,260,257,251,247,256,259,263,262,258,264,261,263,245,265,262,261,253,266,266,265,261,267
  DW 264,266,262,268,265,264,263,269,269,268,264,258,267,269,265,252,268,267,266,253,271,272,254,251
  DW 272,270,273,246,270,271,254,273,273,273,272,271,274,274,275,242,277,276,294,274,275,278,294,274
  DW 286,275,294,274,276,279,294,274,278,282,280,281,294,281,285,279,280,283,279,282,279,284,281,283
  DW 281,285,282,284,282,287,283,285,283,280,284,280,287,277,294,274,284,286,288,292,291,291,289,287
  DW 292,292,290,288,293,287,291,289,288,288,292,290,289,293,287,291,292,290,286,277,298,295,274,275
  DW 294,296,310,276,295,297,310,278,296,300,310,285,299,294,308,277,300,298,302,286,301,299,304,289
  DW 297,300,310,289,302,302,303,299,304,308,306,302,310,303,305,300,307,306,312,304,305,307,311,303
  DW 306,305,312,308,303,309,307,298,308,310,312,294,309,304,312,301,311,311,312,306,316,307,313,311
  DW 314,311,299,312,315,313,321,321,320,314,316,316,317,319,315,315,318,316,320,320,321,317,319,319
  DW 316,320,318,318,319,315,317,317,322,318,314,314,323,321,325,324,316,322,324,321,324,324,322,323
  DW 326,327,328,322,327,325,329,329,325,326,330,328,329,330,327,325,330,328,326,326,328,329,331,327
  DW -1,1,2,330
#ENDIF
MAP_TITLE: DW 1,331,1,1
MAP_GAME1:
  DW 0,0,0,0
  DW 4,4,9,2,3,4,1,9,4,2,6,19,2,3,9,20,4,3,9,9,7,7,8,3,6,6,10,9,10,9,20,6
  DW 8,10,7,4,9,8,11,7,19,19,3,10,13,13,4,13,12,12,12,14,15,18,13,19,18,14,16,17,16,16,17,15
  DW 11,11,15,16,14,15,19,20,7,7,20,23,4,3,4,11,18,15,92,33,22,22,22,1,19,19,19,11
LEFTLINE: DW 3,15
  DW 47,59,76,99,121,143,158,271,300,331
NUM_LEFTLINE_ROOMS EQU ($-LEFTLINE) / RMSZ
  DW 0
RIGHTLINE: DW 4,18
  DW 48,61,74,139,154,178,272,297
NUM_RIGHTLINE_ROOMS EQU ($-RIGHTLINE) / RMSZ
  DW 0
CASTLE_TABLE: DW 1,11,16,40,242
CASTLE_1STRM: DW 22,23,28,244,274
CTBLDIF EQU CASTLE_1STRM-CASTLE_TABLE
CASTLE_LOCKEDIN: DW 22,27,29,247,294
                 DW 22,19,29,247,294  ; for Game 1
CASTLE_ROOMS_RANGE DW 22,22,23,27,28,31,244,273,274,0FFF0
OBJ_COLOR DB 14
CASTLEKEY_COLOR DB 14,0,15,2,-1
        DB -1,5,0,-1,-1,-1,-1,1,3,3
        DB 14,2,4,1,0
OBJ_COLORBW DB BWMGray
CASTLEKEY_COLORBW DB BWMGray,0,15,BWDGray,-1
        DB BWMGray,BWDGray,BWMGray,BWMGray,BWMGray,BWMGray,BWMGray,BWDGray,3,3
        DB BWMGray,BWDGray,15,0,0
PBSTRING: DB     'VRP raongdr.aemxmpeadn.d.e.db.y...C.r.aPiegl lVR'
CBCOLOR DB 12,6,9,15
CBCOLORBW DB BWMGray,BWMGray,BWDGray,BWDGray
OBJSIZE_TABLE: DB 4,2,5 DUP (4,1),4,3,16,6,4,2,4 DUP (3,2),4,1,1,1,1,1
OBJ_PRIORITY DW OBJPR_YELLOW,OBJPR_GREEN,OBJPR_RED,OBJPR_BLUE
DOB     MACRO
  #RX1L
        DB OSZ*#X
  #ER
#EM
OBJPR_YELLOW:
        DOB n_CHALICE
        DOB n_TOKEN1,n_TOKEN2,n_TOKEN3,n_TOKEN4
        DB -1
OBJPR_GREEN:
        DOB n_CHALICE,n_BRIDGE,n_KEY_BLACK,n_MAGNET,n_WHISTLE
        DB -1
OBJPR_RED:
        DOB n_CHALICE,n_KEY_WHITE,n_KEY_FLASHING
        DOB n_TOKEN1,n_TOKEN2,n_TOKEN3,n_TOKEN4
        DB -1
OBJPR_BLUE:
        DOB n_CHALICE,n_WHISTLE
        DOB n_TOKEN1,n_TOKEN2,n_TOKEN3,n_TOKEN4
        DOB n_KEY_YELLOW,n_KEY_GREEN
        DB -1
#IF REGISTERED
BAT_PRIORITY:
        DOB n_CHALICE,n_SWORD
        DOB n_TOKEN1,n_TOKEN2,n_TOKEN3,n_TOKEN4
        DOB n_BRIDGE,n_KEY_FLASHING,n_KEY_GREEN
        DOB n_KEY_YELLOW,n_KEY_WHITE,n_KEY_BLACK,n_MAGNET
        DB -1
#ENDIF
SOUND_PICKUP: DW 01380,09C0,04E0,0
SOUND_DROP: DW 04E0,09C0,01380,0
SOUND_NYAHH: DW 0D74*2,SILENCE,0D74*2,SILENCE,02000,SILENCE,0BFD*2,SILENCE
             DW 0D74*2,SILENCE,SILENCE,SILENCE,02000,0
SOUND_smooth:
SOUND_SWALLOW: DW 0300,0600,0C00,01800,03000,06000,06000,06000,0
        DW 0                                     ;
SOUND_STAB: DW 0300,0318,0330,0348,0360
            DW 0378,0390,03A8,03C0,0             ;  all these sounds should
SOUND_BITE: DW 08000,07800,07000,06800,          ;  have no "hitches"
            DW 06000,05800,05000,05000,0
        DW 0
ALT_PBSTRING: DB 'VRA.tCaorrip.o.r.a.t.isounc.kmsu.s.h.r!o.o.m.sVR'
DRAGON_COLOR DB 14,2,4,1
DRAGON_COLORBW DB BWMGray,BWDGray,15,0
KEY_STRING: DB 0D6,0C2,0C4,04F    ;         ÖÂÄO
SWORD_STRING:
        DB '/___'                 ;         /___
        DB '\   '                 ;         \
CHALICE_STRING:
        DB 0C7,0C4,0C4,0B6        ;         ÇÄÄ¶
        DB 0D3,0C2,0C2,0BD        ;         ÓÂÂ½
        DB 020,0C1,0C1,020        ;          ÁÁ
MAGNET_STRING:
        DB 0DC,0DF,0DF,0DC        ;         ÜßßÜ
        DB 0DB,020,020,0DB        ;         Û  Û
#IF REGISTERED
WHISTLE_STRING:
        DB 0DB,0DB,0DF,0DF        ;         ÛÛßß
#ENDIF
GATE_STRING:
        DB 0CC,0CE,0B9     ; ÌÎ¹
        DB 0D3,0D0,0BD     ; ÓÐ½
DRAGON_STR1:
        DB 0DC,0DC,0DF,0DB      ;   ÜÜßÛ
        DB 020,0DC,0DB,0DC      ;    ÜÛÜ
        DB 0DB,0DF,0DF,0DB      ;   ÛßßÛ
        DB 0DF,0C4,0DC,0DB      ;   ßÄÜÛ
        DB 0C4,0C4,0DF,020      ;   ÄÄß
DRAGON_STR2:
        DB 0FF,0FF,0DC,0DC      ;   °°ÜÜ
        DB 0DF,0DF,0DC,0DF      ;   ßßÜß
        DB 0DC,0DB,0DB,0DB      ;   ÜÛÛÛ
        DB 0DB,05F,020,0DB      ;   Û_ Û
        DB 05F,05F,0DB,0DF      ;   __Ûß
        DB '    '
DRAGON_BITE:
        DB 0DF,0DC,0FF,0FF      ;   ßÜ°°
        DB 0C4,0DC,0DB,0DB      ;   ÄÜÛÛ
        DB 0DF,0DC,0DB,020      ;   ßÜÛ
        DB 4 DUP 0DB            ;   ÛÛÛÛ
        DB 0DF,0DB,0DB,0DF      ;   ßÛÛß
        DB 0C4,0C4,0DF,020      ;   ÄÄß
DRAGON_CORPSE:
        DB 020,020,0DB,020      ;     Û
        DB 0DC,0DF,0DB,0DB      ;   ÜßÛÛ
        DB 0DB,0DB,0DC,020      ;   ÛÛÜ
        DB 0DF,0DB,0DF,020      ;   ßÛß
        DB 0DF,0C4,0D9,020      ;   ßÄÙ
#IF REGISTERED
BAT_STR1:
        DB ':  :'               ;   :  :
        DB 0DC,0DF,0DF,0DC      ;   ÜßßÜ
        DB 0DD,020,020,0DE      ;   Ý  Þ
BAT_STR2:
        DB 0DD,020,020,0DE      ;   Ý  Þ
        DB 0DE,0DF,0DF,0DD      ;   ÞßßÝ
        DB 020,020,020,020      ;
#ENDIF
GAMENO_STR:
        DB ' ',0DB,'  ',0DB,' '
#IF REGISTERED
        DB 0DF,0DF,0DC,0DC,0DB,0DC
        DB 0DF,0DB,0DB,0DC,0DC,0DB
        DB 0DB,' ',0DB,0DF,0DF,0DB
        DB 0DB,0DB,0DF,0DC,0DC,0DB
ATARI_STR:
        DB 020,020,0B3,0B3,0B3,020    ;    ³³³
        DB 020,020,0B3,0B3,0B3,020    ;    ³³³
        DB ' / ',0B3,' \'             ;   / ³ \
CBSTRING: DB 'C rbeya.t.e.d. |W.a.rRroebni.n.e.t.t',12 DUP 0B0
#ENDIF
VGASTR_DIFF EQU $-KEY_STRING
VGA_KEY_STRING: DB 080,080,081,082
VGA_SWORD_STRING:
;        DB 081,084,085,085
        DB 09C,084,083,083
        DB 0B8,0C8,020,020
VGA_CHALICE_STRING:
        DB 086,'  ',087
        DB 088,089,08A,08B
        DB 0C6,08C,08D,0C7
VGA_MAGNET_STRING:
        DB 08E,08F,090,091
        DB 0DB,020,020,0DB
#IF REGISTERED
VGA_WHISTLE_STRING:
        DB 0E6,0E7,0BA,0A0
#ENDIF
VGA_GATE_STRING:
        DB 0A,0A,0DD
        DB 0B,0B,0E1
VGA_DRAGON_STR1:
        DB 0DC,0DC,092,093
        DB 020,094,095,096
        DB 08E,08F,0DF,0DB
        DB 097,0DC,08E,097
        DB 098,099,09A,09B
VGA_DRAGON_STR2:
        DB 0FF,0FF,09C,099
        DB 0DF,0DF,09D,09E
        DB 094,08E,09F,091
        DB 0DB,0A0,094,0DB
        DB 0A1,0DF,0A2,0A3
        DB 0A4,0A5,0A6,0A7
VGA_DRAGON_BITE:
        DB 0A8,0A9,09C,099
        DB 020,0AA,0AB,09E
        DB 0AC,09C,09F,0AD
        DB 0DE,0DB,0DB,0DB
        DB 083,0AE,0AF,0A0
        DB 0A5,0C8,020,020
VGA_DRAGON_CORPSE:
        DB 020,020,0DB,0B2
        DB 0B3,0A7,0C5,08F
        DB 0B4,0DB,0DB,0F7
        DB 0B6,09E,0D5,0F8
        DB 0B8,0BA,0BA,0A0
#IF REGISTERED
VGA_BAT_STR1:
        DB 0BB,020,020,0BC
        DB 0BD,0BE,0BF,0AD
        DB 0C0,020,020,0C1
VGA_BAT_STR2:
        DB 0C2,020,020,0C3
        DB 0C4,0BE,0BF,09E
        DB 020,020,020,020
#ENDIF
VGA_GAMENO_STR:
        DB 0CF,0DD,' ',0D0,0D1,' '
#IF REGISTERED
        DB 0AC,0D2,0D3,0D4,0D5,0D6
        DB 0AC,0A3,0D3,0D7,0E0,0E1
        DB 0E2,0E3,0B2,' ',0C1,' '
        DB 0E4,0E5,096,0D7,0E0,0E1
VGA_ATARI_STR:
        DB '  ',0DD,0DD,0DD,' '
        DB ' ',0E8,0E1,0DD,0E9,' '
        DB 0CF,0A0,' ',0E1,' ',0A8
VGA_CBSTRING:
        DB 0EA,0BA,'  '
        DB 0EB,0A1,0DE,0EC
        DB 0ED,0B2,0B6,0EE
        DB 0EF,0F0,0BC,0F1
        DB 0F2,0AD,' ',0B8
        DB 0F3,0D6,' ',0B8
        DB 0F6,0B2,' ',0D0
        DB 0EF,0F0,'  '
        DB 083,0F7,' ',0B8
        DB 0A5,0E1,' ',0E8
        DB 0F7,0F8,0F7,0B8
        DB 09A,5,0E1,0D0
        DB 5,0A5,' ',0D0
        DB 09E,0A0,0F2,09B
        DB 0FB,0C8,0ED,0FC
        DB 0F2,0F7,5,0E1
        DB 5,0C8,0EF,0F7
        DB 09E,0C0,0FD,' '
        DB 0A0,' ',0FE,0F8
        DB 0C8,' ',1,2
        DB 0B2,' ',0E4,3
        DB '  ',4,0C8
        DB 0C8,' ',6,0B2
        DB '  ',0C1,' '
  #IF (VGA_CBSTRING - CBSTRING) NE VGASTR_DIFF
    ERROR_ERROR_ERROR_ERROR_ERROR_ERROR_ERROR_ERROR
  #ENDIF
#ENDIF
DBB     MACRO
  #RX1L
        DB #X,#X
  #ER
#EM
CHARDEF1:
;key
        DB 0,0,0,0FF,0FF,0F0,0F0,0
        DB 0,0F,0F,0FF,0FF,0F,0F,0
        DB 0,0FF,0FF,0F,0F,0FF,0FF,0
;
        DB 0,0,0,0,0,0,0FF,0FF
;sword
        DBB 0,0F0,0,0FF
;chalice
        DB 0,0,0,0FF,0FF,0,0,0
        DB 0,0,0,0F0,0F0,0F0,0F0,0FF
        DB 0,0,0,0F,0F,0F,0F,0FF
        DB 0FF,0F,0F,0F,0F,0,0,0
        DB 0,6 DUP 0FF,0F
        DB 0,6 DUP 0FF,0F0
        DB 0FF,0F0,0F0,0F0,0F0,0,0,0
        DB 0F,0F,0F,0FF,0FF,0,0,0
        DB 0F0,0F0,0F0,0FF,0FF,0,0,0
;magnet
        DBB 0,0F,0FF,0FF
        DBB 0FF,0FF,0F0,0
        DBB 0FF,0FF,0F,0
        DBB 0,0F0,0FF,0FF
;dragon, still (1)
        DBB 0F,0FF,0,0FF
        DBB 0F0,0FF,0FF,0F0
        DBB 0,0,0,0F
        DBB 0FF,0F,0F,0FF
        DBB 0F0,0,0,0F0
        DBB 0FF,0FF,0FF,0
        DBB 0,0F0,0FF,0
        DBB 0,0,0F0,0FF
        DBB 0F0,0FF,0,0FF
        DBB 0,0FF,0F,0FF
;dragon, still (2)
        DBB 0,0,0F,0FF
        DBB 0,0FF,0FF,0F
        DBB 0FF,0F0,0F0,0
        DBB 0F,0FF,0FF,0FF
        DBB 0F0,0,0,0
        DBB 0FF,0,0,0F0
        DBB 0FF,0FF,0F0,0FF
        DBB 0FF,0,0,0FF
        DBB 0FF,0,0,0
        DBB 0F0,0FF,0,0
        DBB 0,0FF,0,0
        DBB 0F,0FF,0,0
;dragon, biting
        DBB 0F0,0F,0,0
        DBB 0,0,0F0,0F
        DBB 0,0,0F,0F0
        DBB 0F0,0FF,0FF,0F
        DBB 0F,0F0,0,0
        DBB 0,0F0,0F0,0FF
        DBB 0FF,0F,0,0FF
        DBB 0FF,0FF,0F0,0F0
CHARDEF1_CNT EQU ($-CHARDEF1) SHR 3
CHARDEF2:
;dragon, dead
        DBB 0,0,0,0F0
        DBB 0,0F,0FF,0F0
        DBB 0FF,0FF,0FF,0F
        DBB 0F0,0FF,0FF,0FF
        DBB 0F,0,0F,0F
        DBB 0F0,0,0FF,0F
        DBB 0F,0,0,0
CHARDEF2_CNT EQU ($-CHARDEF2) SHR 3
CHARDEF3:
        DBB 0FF,0,0,0
;bat (1)
        DBB 0,0F0,0,0F0
        DBB 0F,0,0F,0
        DBB 0,0F,0F,0FF
        DBB 0FF,0F,0F0,0
        DBB 0FF,0F0,0F,0
        DBB 0F0,0F0,0F0,0
        DBB 0F,0F,0F,0
        DBB 0F0,0F0,0FF,0FF
        DBB 0F,0F,0FF,0FF
        DBB 0FF,0F,0F,0
;
        DBB 0F0,0FF,0FF,0
        DB 0,0,0,0F,0F,0,0,0
        DB 0,0,0,0F0,0F0,0,0,0
        DBB 0,0F0,0,0
CHARDEF3_CNT EQU ($-CHARDEF3) SHR 3
CHARDEF4:
;"1"
        DBB 0,0F,0,0
        DBB 0,0,0F,0
;"2"
        DBB 0F0,0F0,0FF,0
        DBB 0FF,0,0,0F
        DBB 0,0F0,0F0,0
        DBB 0,0F,0FF,0
        DBB 0F0,0,0FF,0
        DBB 0,0,0F0,0
        DBB 0,0F0,0F,0
        DB 03C,042,099,0A1,0A1,099,042,03C    ; Copyright symbol
        DB 018,018,018,018,0F8,018,018,018    ;  ´
        DB 018,018,018,018,01F,018,018,018    ; Ã
CHARDEF4_CNT EQU ($-CHARDEF4) SHR 3
CHARDEF5:
;"3"
        DBB 0,0,0FF,0
        DBB 0F0,0F0,0,0
;"4"
        DBB 0F0,0F0,0F0,0FF
        DBB 0F,0F,0F,0FF
;"5"
        DBB 0FF,0F0,0FF,0
        DBB 0FF,0,0FF,0
;whistle
        DBB 0F,0FF,0FF,0F
        DBB 0FF,0FF,0FF,0F0
;Atari symbol
        DBB 0,0,0F,0F
        DBB 0F0,0F0,0F,0F
;Secret message
        DBB 0FF,0F0,0F0,0F0
        DBB 0FF,0,0F0,0FF
        DBB 0,0,0FF,0F
        DBB 0F0,0F0,0,0FF
        DBB 0FF,0,0F,0F
        DBB 0F0,0FF,0F0,0FF
        DBB 0F0,0F0,0,0F0
        DBB 0FF,0F,0FF,0
        DBB 0,0FF,0F0,0FF
        DBB 0,0F,0FF,0F
CHARDEF5_CNT EQU ($-CHARDEF5) SHR 3
CHARDEF6:
        DBB 0F,0F,0,0FF
        DBB 0,0F0,0F0,0F0
        DBB 0,0,0F0,0F0
        DB 0,0,0,03C,03C,0,0,0
CHARDEF6_CNT EQU ($-CHARDEF6) SHR 3
CHARDEF7:
        DBB 0F0,0FF,0F0,0F0
        DBB 0F0,0F,0,0F0
        DBB 0,0F,0F,0F
        DBB 0,0F0,0FF,0F0
CHARDEF7_CNT EQU ($-CHARDEF7) SHR 3
CHARDEF8:
        DBB 0F0,0,0FF,0F0
        DBB 0F0,0,0F0,0F0
        DBB 0F0,0,0F0,0
        DBB 0F,0FF,0F,0F
        DBB 0F0,0FF,0,0F0
        DBB 0F,0,0F,0FF
CHARDEF8_CNT EQU ($-CHARDEF8) SHR 3
CHARDEF9:
        DBB 0FF,0F0,0FF,0F0   ; gate
        DBB 0FF,0F0,0,0
        DB 080,090,0C0,0D0,016,6,0,0    ; "BIOS"
        DB 0,0,0,0,0C0,080,040,0C0
CHARDEF9_CNT EQU ($-CHARDEF9) SHR 3
;
;     0 = Black            8 = Gray
;     1 = Blue             9 = Light Blue
;     2 = Green           10 = Light Green
;     3 = Cyan            11 = Light Cyan
;     4 = Red             12 = Orange
;     5 = Magenta         13 = Light Magenta
;     6 = Gold            14 = Yellow
;     7 = White           15 = Bright White
;
;          DB 0E0,0C0,060,040,020,010,050
;          DB 0E0,020,0A0,010,090,050,040,060
WON_TABLE DW 0E0B1,0E020,0E8B0,0E8B1
;          DW 0C0B1,0C020,0C8B0,0C8B1
;          DW 060B1,06020,0E0B1,0E020
;          DW 040B1,04020,0C0B1,0C020
;          DW 020B1,02020,0A0B1,0A020
;          DW 030B1,03020,038B0,038B1
;          DW 010B1,01020,090B1,09020
;          DW 050B1,05020,0D0B1,0D020
;
          DW 020B1,02020,0A0B1,0A020
          DW 0A0B1,0A020,0A8B0,0A8B1
          DW 010B1,01020,090B1,09020
          DW 090B1,09020,098B0,098B1
          DW 050B1,05020,0D0B1,0D020
          DW 040B1,04020,0C0B1,0C020
          DW 060B1,06020,0E0B1,0E020
;DWWS    MACRO
;        DW SILENCE,#1,           #1+(#1 SHR 3),2 DUP (SILENCE)
;        DW #2,     #2+(#2 SHR 3),#2,           2 DUP (#2+(#2 SHR 3))
;        DW SILENCE,SILENCE,      #3,           2 DUP (#3+(#3 SHR 3))
;        DW SILENCE,SILENCE,      SILENCE,      2 DUP (SILENCE)
;#EM
;DWWS    MACRO
;        DW #1,     #1+(#1 SHR 3),SILENCE,SILENCE
;        DW #2,     #2+(#2 SHR 3),#2,     #2+(#2 SHR 3)
;        DW SILENCE,SILENCE,      #3,     #3+(#3 SHR 3)
;        DW SILENCE,SILENCE,      SILENCE,SILENCE
;#EM
DWWS    MACRO
        DW #1,SILENCE,#2,#2   ;+(#2 SHR 3)
        DW SILENCE,#3,SILENCE,SILENCE
#EM
WON_SOUND DW
          DWWS 03000,03000,03000
          DWWS 02400,02400,02400
          DWWS 01B00,01B00,01B00
          DWWS 01440,01440,01440
          DWWS 0F30,0F30,0F30
          DWWS 0B64,0B64,0B64
          DWWS 088B,088B,088B
          DWWS 0669,0669,0669
          DW 0
HELP_TEXT:
PROGNAME MACRO
#IF ADVENTURE
        DB 'Adv'
#ELSE
        DB 'Ind'
#ENDIF
#EM
EMAIL   MACRO
        DB 'vgr@clark.net'
#EM
        DB '   Esc              Exit help',128
        DB '   ',24,' ',25,' PgUp PgDn    Move through help',128
        DB ' ',38 DUP 249,128
#IF FREEWARE
        DB 'If you believe that games with primitive',128
        DB "graphics can't be fun to play, you",128
        DB 'should probably press Ctrl-Break now.',128
        DB 'Otherwise...',128
        DB 128
        DB 'This game is freeware.  You may dis-',128
        DB 'tribute it to anyone, but you may NOT',128
        DB 'modify it.  If you have comments or',128
        DB 'questions about '
        PROGNAME
        DB                    'enture, you can reach',128
        DB 'me at '
        EMAIL
        DB ' or at:',128
#ELSEIF REGISTERED
        DB 'This game is shareware.  That means if',128
        DB 'you play it more than a few times with-',128
        DB 'out paying for it, you are breaking',128
        DB 'international law.',128
        DB 128
        PROGNAME
        DB    'enture for DOS was written by:',128
#ELSE
        DB 'This game is shareware.  That means in-',128
        DB 'stead of paying for it and then trying',128
        DB 'it, you first try it out and then if you',128
        DB 'like it, you buy the whole thing.  Pay-',128
        DB 'ing for the game makes you a registered',128
        DB "user, and besides, you'll feel SO much",128
        DB 'better about yourself if you buy it,',128
        DB 'right?',128
        DB 128
        DB 'If you like '
        PROGNAME
        DB                'enture, you can pay for',128
        DB 'it by sending $12 (US funds only) to:',128
#ENDIF
        DB '  Craig Pell',128
        DB '  8 North Summit Drive, #102',128
        DB '  Gaithersburg, MD 20877-3057',128
        DB '  USA',128
#IF !FREEWARE AND !REGISTERED
        DB '(Be sure to specify 3.5" or 5.25" disk.)',128
        DB 128
        DB 'You may also send $7 and your Internet',128
        DB 'address, and I will send you '
        PROGNAME
        DB                                 'enture',128
        DB 'through e-mail, uuencoded.',128
#ENDIF
        DB 128
        PROGNAME
        DB   'enture can be invoked with any (or',128
        DB 'none) of the following command-line',128
        DB 'switches:',128
        DB 128
        DB "  -?    Don't start game, just print out",128
        DB '        a summary of the command-line',128
        DB '        switches.',128
        DB 128
        DB '  -V    Forces the game to assume you',128
        DB '        have a CGA or EGA.  No VGA capa-',128
        DB '        bilities are used.  The game',128
        DB '        will look uglier but will play',128
        DB '        the same.  Use this switch if',128
        DB '        you want to play in a DOS shell',128
        DB '        under Windows, but not in full-',128
        DB '        screen mode.',128
        DB 128
        DB '  -J    Force the game to use the BIOS',128
        DB '        joystick routines.  If the game',128
        DB "        hangs up or the joystick doesn't",128
        DB '        work, this switch may help.',128
        DB 128
#IF FREEWARE
        DB 'The object of '
        PROGNAME
        DB                  'enture is to find the',128
        DB 'Golden Chalice (which looks like a',128
        DB 'flashing cup) and return it to the',128
        DB 'Yellow Castle.',128
        DB 128                                      ;
        DB 'To start the game, run it and press F3',128
        DB 'until the game number you desire ap-',128
        DB 'pears.  Then press F4.  The other con-',128
        DB 'trols are:',128
        DB 128                                      ;
        DB 'Ctrl-Esc or Ctrl-Break = Quit',128
        DB 'F1 = This help file',128
        DB 'F2 = Toggle black-and-white/color',128
        DB 'F3 = Select game (or abort current game)',128
        DB 'F4 = Start game (at game number screen)',128
        DB '     Resurrect (during current game)',128
        DB 'F5 = Left difficulty toggle',128
        DB 'F6 = Right difficulty toggle',128
        DB 'F7 = Change control mode',128
        DB 'F9 = Hide/Show settings',128
        DB 'F10 = Briefly display settings',128
        DB 'Arrows (or joystick) = move',128
        DB 'Space, Ins, B (or joystick button) =',128
        DB '                             Drop object',128
        DB 'S = Sound on/off',128
        DB 'Shift-F1 = Load game',128
        DB 'Shift-F2 = Save game',128
        DB '2nd joystick button = Calibrate joystick',128
        DB 128                                      ;
        DB 'The Golden Chalice, and all other ob-',128
        DB 'jects (except dragons), can be picked',128
        DB 'up and carried.  You can drop the ob-',128
        DB "ject you're carrying by pressing the",128
        DB 'first joystick button, or pressing the',128
        DB 'spacebar.  You may not carry more than',128
        DB 'one object at a time.  You pick things',128
        DB 'up by running into them.',128
        DB 128                                      ;
        DB 'There are dragons about (they look like',128
        DB 'ducks) which will try to eat you.  If',128
        DB 'you are swallowed, you will be unable to',128
        DB 'move;  you can press F4 to return to the',128
        DB 'Yellow Castle, and everything will be as',128
        DB "you left it, but any dragons you've",128
        DB 'killed will be revived.  You can kill a',128
        DB 'dragon by touching it with the sword',128
        DB '(which looks like a yellow arrow).',128
        DB 128                                      ;
        DB 'The game also contains a magnet, which',128
        DB "attracts everything that's not alive",128
        DB 'except dead dragons.  You can pick up',128
        DB 'the magnet and carry it around.  The',128
        DB 'game also has a "bridge" (which looks',128
        DB 'like a pair of purple brackets: ] [ )',128
        DB 'which allows you to pass vertically (but',128
        DB 'not horizontally!) through walls.  The',128
        DB 'bridge can also be picked up and carried',128
        DB 'around.',128
        DB 128                                      ;
        DB 'When you place the Golden Chalice in the',128
        DB 'yellow castle, the screen will flash and',128
        DB 'the game is over.  Press F3 or F4 to',128
        DB 'play again.',128
        DB 128                                      ;
        PROGNAME
        DB    'enture has five game variations.  Af-',128
        DB 'ter you start the game up, press F3 re-',128
        DB 'peatedly until the game number you want',128
        DB 'appears.  Then press F4 to start.',128
        DB 128                                      ;
        DB 'Game 1 is the simplest.  It contains two',128
        DB 'dragons and two castles.',128
        DB 128                                      ;
        DB 'Game 2 has three dragons, three castles,',128
        DB 'and a Bat.  The Bat cannot be killed.',128
        DB 'Its only purpose in life is to pick up',128
        DB 'objects and then later swap them for',128
        DB "other objects.  It doesn't care if you",128
        DB 'are carrying the object in its sights or',128
        DB 'not;  it will go after it just the same.',128
        DB 128                                      ;
        DB 'Game 3 is like Game 2, but the objects',128
        DB 'are in a different place each time you',128
        DB 'play.',128
        DB 128                                      ;
        DB 'Game 4 is the same each time you play,',128
        DB 'but instead of 31 rooms, it has over 300',128
        DB 'rooms!  It will seem the same as Game 2',128
        DB 'and Game 3, but somewhere there is a',128
        DB 'Magic Dot which will allow you to gain',128
        DB 'entry to the additional rooms.  If you',128
        DB "have a good eye for details, you'll find",128
        DB 'it eventually.  Game 4 also contains a',128
        DB 'fourth dragon ("Disgruntle"), another',128 
        DB 'castle, and another object, the Whistle.',128
        DB 'The Whistle will paralyze the Bat, if',128
        DB 'and only if you are holding the Whistle',128
        DB 'and you are in the same room as the Bat.',128
        DB 'Also added are Tokens;  they are flash-',128
        DB 'ing numbers whose purpose I will leave',128
        DB 'it up to you to discover.',128
        DB 128                                      ;
        DB 'Game 5 is the ultimate challenge!  It is',128
        DB 'like Game 4, but the objects are in a',128
        DB 'different place each time you play.',128
#ELSE
        PROGNAME
        DB    'enture is not my creation.  It first',128
        DB 'appeared as a game cartridge for the',128
        DB 'Atari 2600 home videogame system.  I',128
        DB "won't bother to explain the rules here;",128
        DB 'if you want to know how to play, either',128
        DB 'find an old Adventure instruction book-',128
        DB 'let, or ask me for one.  Or, e-mail me',128
        DB 'on the Internet at '
        EMAIL
        DB 128
        DB "or ask UseNet's rec.games.video.classic.",128
        DB 128
        DB 'If you just want to start playing, hit',128
        DB 'F3 until the desired game number',128
        DB 'appears, press F4, and start playing.',128
        DB 'For details, read on.',128
        DB 128
        DB 'Since a PC is not an Atari 2600, various',128
        DB 'keys are used to emulate the original',128
        DB 'Atari 2600 console switches:',128
        DB '  F2            = Color/Black & White',128
        DB '  F3            = Game Reset',128
        DB '  F4            = Game Select',128
        DB '  F5            = Left Difficulty',128
        DB '  F6            = Right Difficulty',128
        DB '  Home ',24,' PgUp',128
        DB '    ',27,'     ',26,'     = move (or use joystick)',128
        DB '  End  ',25,' PgDn',128
        DB '  B, Space, Ins = Controller Button',128
        DB 'Other keys:',128
        DB '  Ctrl-Esc',128
        DB '  Ctrl-Break = Quit',128
        DB '  F1         = Help',128
        DB '  F7         = Change control mode',128
        DB '  F9         = Hide/show settings',128
        DB '  F10        = Briefly display settings',128
        DB '  S          = Sound on/off',128
        DB '  Shift-F1   = Load game',128
        DB '  Shift-F2   = Save game',128
        DB '  2nd joystick button = calibrate',128
#ENDIF
        DB 128                                      ;
        DB 'The F7 key cycles through the control',128
        DB 'settings.  There are four settings:',128
        DB 'S, K, J and A.  The setting is indicated',128
        DB 'at the lower left corner of the screen',128
        DB '(unless the settings are hidden).  "S"',128
        DB 'stands for Sticky keyboard mode.  This',128
        DB 'means whenever you type an arrow key or',128
        DB "a diagonal-movement key, you'll keep",128
        DB 'moving in that direction even after',128
        DB "you've let go of the key.  To stop,",128
        DB "simply hit some unused key, like `Z'",128
        DB 'or Esc.  "K" stands for regular key-',128
        DB 'board mode.  In this mode, you move',128
        DB 'only when a movement key is held down.',128
        DB 'And of course, "J" is for Joystick mode.',128
        DB '"A" lets you play with any Atari joy-',128
        DB 'stick, but ONLY if you have implemented',128
        DB 'the MULTIJOY setup which is described in',128
        DB '     ftp://ftp.tu-clausthal.de/pub/',128
        DB '    msdos/games/multijoy/multijoy.txt',128
        DB 128                                      ;
        DB 'The F9 key hides the control mode set-',128
        DB 'ting and the difficulty switch settings',128
        DB 'from view.  Pressing F9 again will cause',128
        DB 'the settings to reappear.  If a setting',128
        DB 'is changed with F5 or F6, the settings',128
        DB 'will appear for a few seconds and hide',128
        DB 'again.  You can also cause the settings',128
        DB 'to appear temporarily by pressing F10.',128
        DB 128                                      ;
        DB 'If the joystick does not respond well,',128
        DB 'you may calibrate it by pressing the',128
        DB 'second joystick button.  Follow the in-',128
        DB 'structions on the screen or press Esc to',128
        DB 'cancel joystick calibration.',128
#IF !FREEWARE
        DB 128
        DB 'This Adventure has some things the orig-',128
        DB 'inal does not.  While game variations 1',128
        DB 'through 3 are identical to their origin-',128
        DB 'al counterparts, there are also a game 4',128
        DB 'and a game 5.  These have the same ob-',128
        DB 'jective---get the Chalice into the',128
        DB 'Golden Castle---but there is a much,',128
        DB 'much larger area over which all the',128
        DB 'objects are dispersed.  Game 4 is always',128
        DB 'the same; game 5 places things randomly.',128
        DB 128
        DB 'Games 4 and 5 also have "tokens."  They',128
        DB 'look like flashing numbers.  There are',128 
        DB 'four of them, and they only have one',128
        DB "purpose;  I'll leave it up to you to",128
        DB 'discover what that is.',128
        DB 128
        DB 'Games 4 and 5 also feature a whistle.',128
        DB 'The whistle is a blue object that can',128
        DB 'paralyze the Bat, but it only works if',128
        DB 'you are holding it, and the Bat is in',128
        DB 'the same room as you.',128
        DB 128
  #IF REGISTERED
        DB 'The Black Castle contains a Secret Dot',128
        DB 'in games 2 through 5.  This Dot is the',128
        DB 'key to certain secret rooms.',128
  #ELSE
        DB 'NOTE:  This is a "display model"',128
        DB 'version of '
        PROGNAME
        DB               'enture.  It has only game',128
        DB '1 available.  When you purchase the game',128
        DB 'you will receive the complete program.',128
  #ENDIF
#ENDIF
        DB 128
        PROGNAME
        DB    'enture works on a CGA or better dis-',128
        DB 'play, but looks best on VGA or better.',128
        DB 128
        DB 'Good luck!  And I welcome all comments.',128
        DB 'I can be reached at '
        EMAIL
        DB 128
        DB 'and I read rec.games.video.classic reg-',128
        DB 'ularly.',128
#IF !FREEWARE
        DB 128
        DB 'Everything in this program is copy-',128
  #IF REGISTERED
        DB 'righted.  Duplication is prosecutable by',128
        DB "law.  So don't do it.",128
  #ELSE
        DB 'righted.  Duplication, except for share-',128
        DB 'ware distribution, is prosecutable by',128
        DB 'law.',128
  #ENDIF
        DB 128
        DB 'Atari, the Atari symbol, Atari 2600,',128
        DB 'and the audiovisuals of the game Adven-',128
        DB 'ture are trademarks of Atari Corp.',128
        DB 'Neither this program nor its author is',128
        DB 'in any way affiliated with Atari Corp.',128
#ENDIF
        DB 128
        DB 'Version '
#IF !FREEWARE
  #IF REGISTERED
        DB 'R'
  #ELSE
        DB 'S'
  #ENDIF
#ENDIF
        DBVERSION
        DB 128
HELPCOPYRIGHT DB 'c Craig Pell',128
        DB 255
CMDLNHELPTEXT:
#IF ADVENTURE        
        DB 'ADV'
#ELSE
        DB 'INDENTUR'
#ENDIF
        DB ' [-?] [-J] [-V]',13,10
        DB '    -?    Display this help text',13,10
        DB '    -J    Use BIOS joystick routines',13,10
        DB '    -V    Assume no VGA/SVGA is present (use when not in full-screen',13,10
        DB '          mode under Windows)',13,10
        DB '$'
CMDLINEHELP:
        MOV DX,CMDLNHELPTEXT
        MOV AH,9
        INT 021
        MOV AX,04C00
        INT 021
#IF REGISTERED
GAME4_SUPERWIN_TEXT:
  CODEDB 'Football_Sprint_Breakout_'
  CODEDB 'Asteroids_Night Driver_Warlords_Video Pinball_Space Duel_'
  CODEDB 'Tempest_Missile Command_Crystal Castles_Gravitar_'
  CODEDB 'Fast Freddie_Battlezone_Centipede_Major Havoc_Dig Dug_Pole Position_'
  CODEDB 'Star Wars_Xevious_Star Wars: The Empire Strikes Back_Reactor_'
  CODEDB 'Pole Position II_Millipede_Star Wars: Return of the Jedi_Food Fight_'
  CODEDB 'Rolling Thunder_Championship Sprint_'
  CODEDB 'Firefox_Gauntlet_Marble Madness_Indiana Jones and the Temple of Doom_'
  CODEDB 'Packrat_TX-1_Paperboy_Roadrunner_I, Robot_Gauntlet 2_'
  CODEDB 'Super Sprint_Vindicators_720ø_Final Lap_'
  CODEDB 'Blasteroids_Galaga `88_Pac-Mania_'
  CODEDB 'Cyberball 2072_Xybots_Escape From the Planet of the Robot Monsters_'
  CODEDB 'Final Lap 2_Tetris_STUN Runner_Assault_Hard Drivin`_KLAX_Hydra_'
  CODEDB 'Pit Fighter_Race Drivin`_'
  CODEDB 'Rampart_Steel Talons_Space Lords_'
GAME4_TEXT_COUNT EQU 60
CODEPROGNAME MACRO
#IF ADVENTURE THEN
  CODEDB 'Adv'
#ELSE
  CODEDB 'Ind'
#ENDIF
#EM
GAME5_WIN_TEXT:
  CODEDB '                          CONGRATULATIONS!                          '
  CODEDB 'You`ve completed the ultimate '
  CODEPROGNAME
  CODEDB                                  'enture challenge!  You`ve also hon-'
  CODEDB 'ored the tradition of classic videogames, for there is none so ven- '
  CODEDB 'erable as Warren Robinett`s Adventure, the first of its kind!  You  '
  CODEDB 'are a true Video Game Classicist!  If you are one of the first 12   '
  CODEDB 'persons who sends in the eight-digit number above, along with your  '
  CODEDB 'name and address, to the author`s address as it appears in the      '
  CODEDB 'game`s help, you will receive a limited-edition '
  CODEPROGNAME
  CODEDB                                                    'enture T-shirt.  '
  CODEDB 'This offer is only good while supplies last, and each number can    '
  CODEDB 'only be used for one redemption.                                    '
      DB 0
#ENDIF
RMCOLORS:
        DB 050
        DB 0E0,020,060,0C0,050,090,090,090,090,090    ;1
        DB 0,CAT,CAT,CAT,020,070,0B0,0B0,050,040      ;2
        DB 070,0E0,040,CAT,CAT,CAT,CAT,0C0,0C0,0C0    ;3
#IF REGISTERED
        DB 0C0,050,0D0,0E0,0E0,0E0,0E0,0E0,0E0,020    ;4
        DB 050,0E0,060,040,0A0,070,080,020,040,050    ;5
        DB 050,050,050,050,050,040,0E0,090,010,020    ;6
        DB 060,040,080,0D0,040,040,040,0A0,050,010    ;7
        DB 040,0E0,020,070,050,060,040,070,CAT,CAT    ;8
        DB CAT,CAT,010,0,060,020,090,0E0,080,CAT      ;9
        DB CAT,0C0,040,0E0,CAT,040,CAT,0A0,050,050    ;10
        DB 060,010,090,CAT,0D0,0D0,0D0,0D0,0D0,0E0    ;11
        DB 0B0,CAT,0,020,CAT,040,050,0E0,010,0E0      ;12
        DB 040,0A0,010,010,010,0E0,090,080,060,010    ;13
        DB 0C0,CAT,CAT,0D0,0E0,080,070,010,040,050    ;14
        DB 0E0,020,0C0,010,090,020,0E0,0F0,040,CAT    ;15
        DB 010,050,070,0E0,060,020,090,0E0,040,010    ;16
        DB 0A0,0,050,070,080,020,050,040,070,0C0      ;17
        DB 0E0,060,010,0E0,040,CAT,CAT,050,090,060    ;18
        DB 070,080,0E0
;
        DB 23 DUP 080             ;184 to 206
        DB 010,010,010,010        ;207 to 210
        DB 0C0,0C0,090,090,070    ;211 to 215
        DB 17 DUP 080             ;216 to 232
        DB 9 DUP 060              ;233 to 241
        DB -1,080,020,020,020,070,020,020,020         ;25
        DB 020,020,060,020,020,020,020,060,020,020    ;26
        DB 9 DUP CAT,020                              ;27
        DB 020,020,020,010,0D0,0,0,0,0C0,0E0          ;28
        DB 0E0,0E0,0E0,0E0,0F0,0,070,070,070,070      ;29
        DB 070,070,010,020,020,020,020,020,020,020    ;30
        DB 050,090,0,080,040,080,0E0,080,050,020      ;31
        DB 080,0B0,070,0E0,0C0,0C0,090,050,050,090    ;32
        DB 040,010,0A0,060,CAT,CAT,CAT,CAT,CAT,CAT    ;33
        DB 020
#ENDIF
EASYWIN MACRO
        MOV W[STARTDATA+(#1-1)*84+OSZ],2
        MOV W[STARTDATA+(#1-1)*84+OSZ*n_CHALICE],2
        MOV W[STARTDATA+(#1-1)*84+OSZ*n_TOKEN1],2
        MOV W[STARTDATA+(#1-1)*84+OSZ*n_TOKEN2],2
        MOV W[STARTDATA+(#1-1)*84+OSZ*n_TOKEN3],2
        MOV W[STARTDATA+(#1-1)*84+OSZ*n_TOKEN4],2
#EM
PAGE0   MACRO
        PUSHF
        PUSH AX
        MOV AX,0500
        INT 010
        POP AX
        POPF
#EM
